From e0205eb27ca401077415785a0b07c10acf8c05cf Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Sat, 21 Apr 2018 20:14:05 +0200 Subject: [PATCH] widget: add shortcut to gtk_widget_set_child_visible So we don't do unnecessary work when just setting priv->child_visible to the same value again. --- gtk/gtkwidget.c | 11 ++++++++--- gtk/gtkwidget.h | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index d565719854..58a8379aac 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -7618,7 +7618,7 @@ gtk_widget_get_parent_surface (GtkWidget *widget) /** * gtk_widget_set_child_visible: * @widget: a #GtkWidget - * @is_visible: if %TRUE, @widget should be mapped along with its parent. + * @child_visible: if %TRUE, @widget should be mapped along with its parent. * * Sets whether @widget should be mapped along with its when its parent * is mapped and @widget has been shown with gtk_widget_show(). @@ -7640,17 +7640,22 @@ gtk_widget_get_parent_surface (GtkWidget *widget) **/ void gtk_widget_set_child_visible (GtkWidget *widget, - gboolean is_visible) + gboolean child_visible) { GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget); g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (!_gtk_widget_is_toplevel (widget)); + child_visible = !!child_visible; + + if (priv->child_visible == child_visible) + return; + g_object_ref (widget); gtk_widget_verify_invariants (widget); - if (is_visible) + if (child_visible) priv->child_visible = TRUE; else { diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 172ef44530..3987e7d42b 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -589,7 +589,7 @@ GdkSurface * gtk_widget_get_parent_surface (GtkWidget *widget); GDK_AVAILABLE_IN_ALL void gtk_widget_set_child_visible (GtkWidget *widget, - gboolean is_visible); + gboolean child_visible); GDK_AVAILABLE_IN_ALL gboolean gtk_widget_get_child_visible (GtkWidget *widget); -- 2.30.2